package com.woniu.user.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniu.user.controller.form.ModifyVenueForm;
import com.woniu.user.controller.form.UpdatePassForm;
import com.woniu.user.controller.form.VenueLoginForm;
import com.woniu.user.controller.form.VenueRegisterForm;
import com.woniu.user.model.Venue;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.user.service.dto.VenueDto;

import javax.mail.MessagingException;
import javax.servlet.http.Cookie;
import java.util.List;

/**
 * <p>
 * 场馆表 服务类
 * </p>
 *
 * @author Silas
 * @since 2023-02-15
 */
public interface VenueService extends IService<Venue> {

    Cookie venueLogin(VenueLoginForm venueLoginForm);

    void venueRegister(VenueRegisterForm venueRegisterForm) throws MessagingException;

    void venueActive(Integer id);


    void closeRegister(String mail);

    boolean update(UpdatePassForm updatePassForm);

    Page<Venue> query(String condition, Integer current, Integer size);


    void emailCode(String email);

    void receivedCode(String email, String code);

    void resetPwd(VenueRegisterForm venueRegisterForm);

    void venueModify(Integer userId, ModifyVenueForm modifyVenueForm);

    VenueDto getUserInfo(Integer userId);

    IPage<Venue> findAll(Page<Venue> pageInfo);

    Page<VenueDto> getAllVenue(String condition, Integer current, Integer size);

    List<Venue> findVenue();
}
